<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>echarts</title>
    <style>
      .charts {
        width: 800px;
        height: 400px;
      }
    </style>
  </head>
  <body>
    <div class="charts"></div>
    <script src="./echarts.min.js"></script>
    <script>
      const getRandomValues = () => {
        const values = [];
        for (let index = 0; index < 7; index++) {
          values.push(Math.round(Math.random() * 100 + 50));
        }
        return values;
      };
      const myEcharts = echarts.init(document.querySelector(".charts"));
      const option = {
        xAxis: {
          data: ["周一", "周二", "周三", "周四", "周五", "周六", "周日"],
        },
        yAxis: {},
        tooltip: {}, // 提示组件，鼠标移入有数据提示
        // 工具栏 提供功能按钮（下载，刷新，查看原始数据等）
        toolbox: {
          // 各工具配置项
          feature: {
            saveAsImage: {}, // 保存为图片
            dataView: {}, // 数据视图工具，可以展现当前图表所用的数据，编辑后可以动态更新
          },
        },
        // 图例组件
        legend: {
          data: ["饼状图", "柱状图", "折线图"], // 图例的数据数组 图例要写name属性
          top: 30, // 图例组件离容器上侧的距离
        },
        // 标题组件
        title: {
          text: "这是一个测试", // 主标题文本
          left: "center", // title 组件离容器左侧的距离:中间
        },
        // 数据缩放组件：查看一定范围内数据
        dataZoom: {
          // type:'inside', // 内置型
          type: 'slider', // 放置在组件外
        },
         // 布局组件
        grid:{
          left:0, // grid 组件离容器左侧的距离
          right:10,
          containLabel:true, // grid 区域是否包含坐标轴的刻度标签
        },
        series: [
          {
            name: "饼状图",
            type: "pie",
            data: [
              { name: "xxx", value: 111 },
              { name: "yyy", value: 222 },
              { name: "zzz", value: 333 },
            ],
            radius: 30,
            center: [600, 50],
          },
          {
            name: "柱状图",
            type: "bar",
            data: getRandomValues(),
          },
          {
            name: "折线图",
            type: "line",
            data: getRandomValues(),
          },
        ],
      };
      myEcharts.setOption(option);
    </script>
  </body>
</html>
